package rs.dalao.syc.doctor.all.service;

import org.springframework.security.core.annotation.AuthenticationPrincipal;
import rs.dalao.syc.common.pojo.authentication.CurrentPrincipal;
import rs.dalao.syc.doctor.all.pojo.entity.Article;
import rs.dalao.syc.doctor.all.pojo.param.ArticleParam;
import rs.dalao.syc.doctor.all.pojo.param.ArticleUpdateParam;
import rs.dalao.syc.doctor.all.pojo.vo.ArticleManagementVO;

import java.util.List;

public interface IArticleService {
    //新增文章功能
    int insertArticle(ArticleParam articleParam, @AuthenticationPrincipal CurrentPrincipal currentPrincipal);
    //通过文章id删除文章
    int deleteByArticleId(Long articleId);
    //通过id查询文章
    Article getArticleById(Long id);
    //通过作者Id查询该作者发布的所有文章
    List<ArticleManagementVO> getAllArticleByAuthorId(Long authorId);
    /**
     * 修改类别数据
     *
     * @param id 被修改的类别数据的ID
     * @param articleUpdateParam 类别的新数据
     */
    void updateInfoById(Long id, ArticleUpdateParam articleUpdateParam);
    //更改文章浏览量数据
    int updateViewCountById(Long id);
}
